1. Field of the Invention
The present invention relates generally to computer system management. It particularly relates to a method and apparatus for configuring wake-up events independent of a computer operating system that is running an advanced configuration and power interface protocol.
2. Background Art
Most computer system power management techniques, such as the advanced power management system (APM), are implemented using the basic input-output system (BIOS) instructions stored in read-only memory (ROM). In an exemplary scenario, a wake-up event (e.g., transitioning from an xe2x80x9coffxe2x80x9d or xe2x80x9csleepxe2x80x9d state to an xe2x80x9conxe2x80x9d state) triggers a system management interrupt (SMI) notifying the BIOS of the event. The BIOS then performs all state restoration actions needed before relinquishing control over to the operating system (OS) to complete the system wake-up.
Under the newer ACPI (advanced configuration and power interface), a wake-up event triggers a system control interrupt (SCI) that notifies the OS, and the OS itself directs all system and device power state transitions. An exemplary ACPI-compliant OS is the Windows 98 operating system. The ACPI specification, version 1.0b, published by Intel Corporation, Microsoft Corporation, and Toshiba K.K. in February 1999, includes tables, BIOS, and hardware registers. ACPI tables are used to describe system information (e.g., supported power states, power sources, clock sources), features (e.g., available hardware devices), and methods for controlling those features (e.g., ACPI control methods). Particularly, a fixed ACPI (FACP) table holds the I/O addresses used by the OS to describe the different hardware devices for power management events. The ACPI BIOS, part of the computer system firmware, implements the ACPI specified interfaces for sleep, wake, and some restart operations. It also provides permanent storage of ACPI table information. ACPI registers are used to store and pass event information between the hardware/firmware and an ACPI driver, an OS level program that directs all transitions between working and sleeping states.
Typically, enabling of wake-up events from an ACPI sleeping state (S1-S4) is controlled by the OS. However, the ACPI specification only allows for a power button (e.g., connected through hardware) wake-up event from a S5 soft-off state (not a sleep state) as indicated in the ACPI register. Thus, additional wake-up events from the S5 state can be configured only through additional hardware which can be costly and inflexible. Therefore, there is a need to enable new wake-up events from the S5 state, recognizable by an ACPI-compliant OS, using existing hardware which facilitates remote computer management.